﻿# iWai

Скрипт для обработки изображений с помощью [waifu2x-caffe](https://github.com/lltcggie/waifu2x-caffe/) в публикациях Adobe InDesign. [Скачать](https://github.com/vbatushev/iWai/releases/)

Основная цель обработки: приведение изображений с низким фактическим разрешением (по умолчанию, от 50 до 200 dpi) к необходимому значению (по умолчанию, 300 dpi) с одновременным устранением артефактов сжатия (по желанию). Если выделена изображение, обрабатывается только она. Если изображение не выделено, то обрабатываются все изображения публикации. Можно использовать различные методы обработки для обработки рисунков и фотографий.

[Поблагодарить за скрипт](http://yasobe.ru/na/vbatushev)

**Только для Windows**

Пример улучшения изображения с помощью waifu2x-caffe:

![Sample Image](/assets/image.png)


## Что входит в скрипт

Это два скрипта в формате Adobe Extendscript: iWai_dlg.jsxbin и iWai_quiet.jsxbin.

**iWai_dlg.jsxbin** при запуске показывает диалог, в котором можно выбрать те или иные параметры обработки.

**iWai_quiet.jsxbin** запускается без диалогового окна и использует уже существующий config.json с настройками обработки. Если такой файл отсутствует, он создается с настройками по умолчанию.

[Скачать скрипты](https://github.com/vbatushev/iWai/releases/)

## Установка скриптов

Скрипты скачиваются из раздела [Releases](https://github.com/vbatushev/iWai/releases/) и помещаются в папку скриптов пользователя. Помещение скриптов в папку приложения не привестствуется из-за возможных проблем с доступом при создании/изменении файла config.js.

[Скачивается](https://github.com/lltcggie/waifu2x-caffe/releases) waifu2x-caffe. Скачанный архив распаковывается в удобное для вас место на диске (по умолчанию, считается, что вам по душе распаковать архив в папку C:\Users\имя_пользователя\Documents\waifu2x-caffe).

После этого скриптами можно пользоваться.

## Настройка выполнения

Настройки скрипта хранятся в файле config.json, лежащем в той же директории, что и скрипт.

Если файла настроек нет, он создается из значений по умолчанию, указанных в самом скрипте.

### Параметры файла config.json

1. **waifu2x_path** — путь к исполняемому файлу waifu2x-caffe-cui.exe. По умолчанию, считается, что файл лежит в папке \~/Documents/waifu2x-caffe (\~/Documents — это путь к папке Документы/Documents данного пользователя). Если Вы хотите указать собственный путь к файлу, необходимо указывать его а) в кавычках, б) либо в абсолютном формате (например, "/c/Work/waifu", либо предохраняя слэши, например, "C:\\\\Work\\\\waifu").
2. **min_ppi** — минимальное значение ppi. Целое число. По умолчанию, 50.
3. **max_ppi** — максимальное значение ppi. Целое число. По умолчанию, 200.
4. **need_ppi** — необходимое значение ppi. Целое число. По умолчанию, 300.
5. **mode** — режим преобразования. Их четыре: *noise_scale* (убрать шум и увеличить), *scale* (только увеличить), *noise* (убрать только шум), *auto_scale* (автоматически убрать шум и увеличить). Параметр изменяется в диалоге и записывается в config.js непосредственно перед началом выполнения обработки изображений.
6. **noise** — удаление шума. Четыре уровня. Параметр изменяется в диалоге и записывается в config.js непосредственно перед началом выполнения обработки изображений.
7. **profiles** — профиль (модель) обработки. Значением профиля обработки является название папки, хранящей профиль. Предполагается, что папки с профилями находятся в папке models внутри папки с waifu2x-caffe. Параметризменяется в диалоге и записывается в config.js непосредственно перед началом выполнения обработки изображений.
8. **block** — размер блока. Влияет на скорость обработки. Значения: 64, 100, 128, 240, 256, 384, 432, 480, 512. Параметр изменяется в диалоге и записывается в config.js непосредственно перед началом выполнения обработки изображений.
9. **processor** — определяет процессор при обработке. Возможны два значения: cpu — используется центральный процессор компьютера (по умолчанию), gpu — используется графический процессор (обработка быстрее, но может работать не на всех компьютерах).
10. **language** — язык интерфейса. Допустимы два значения: *en* (английский язык) и *ru* (русский язык, по умолчанию).

#### Примерное содержание config.js

```
{
    "waifu2x_path": "~/Documents/waifu2x-caffe/waifu2x-caffe-cui.exe",
    "maxppi": 200,
    "minppi": 50,
    "mode": "auto_scale",
    "noise": 0,
    "profiles": "upconv_7_anime_style_art_rgb",
    "block": 64,
    "processor": "gpu",
    "max_ppi": 200,
    "min_ppi": 50,
    "need_ppi": 300,
    "language": "ru"
}
```